package rdd.builder

import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}

object Spark01_RDD_Memory_paralize {
  def main(args: Array[String]): Unit = {

    val sparkConf = new SparkConf().setMaster("local[*]").setAppName("memoryRDD")
//    sparkConf.set("spark.default.parallelism", "5")  // 设置分区数，默认为当前机器环境的总核数
    val sc = new SparkContext(sparkConf)

    // 创建RDD
    val seq = Seq[Int](1, 2, 3, 4, 5)
    // 通过numSlice指定分区数，设置之后会覆盖spark.default.parallelism的值
    // 数据的划分可以参考划分算法

    val rdd: RDD[Int] = sc.makeRDD(seq,3)

    // 分区结果：[1], [2, 3], [4, 5]
    rdd.saveAsTextFile("datasets/output")
    rdd.collect().foreach(println)

    // 退出环境
    sc.stop()
  }
}
